package zw_101_200.zw_168_Excel表列名称;



class Solution {

    public static void main(String[] args) {
        int columnNumber = 2147483647;
        String title = convertToTitle(columnNumber);
        System.out.println(title);
    }

    /**
     * 时间复杂度：O(log26(columnNumber))。时间复杂度即为将columnNumber 转换成 2626 进制的位数。
     * 空间复杂度：O(1)。返回值不计入空间复杂度。注意，在某些语言（比如 Java、C#、JavaScript）中字符串是不可变的，
     * 因此我们需要额外的O(log26(columnNumber))的空间来存储返回值的中间结果。但是我们忽略这一复杂度分析，因为这依赖于语言的细节。
     * @param columnNumber
     * @return
     */
    public static String convertToTitle(int columnNumber) {
        StringBuilder s = new StringBuilder();
        while (columnNumber > 0){
            columnNumber--;
            s.append((char)(columnNumber % 26 + 'A'));
            columnNumber /= 26;
        }
        return s.reverse().toString();
    }
}
